/**
 * JsonResult.java
 * com.ay.sdk.common.base.result
 * <p>
 * Function： TODO
 * <p>
 * ver     date      		author
 * ──────────────────────────────────
 * 1.0	2017年5月24日 		yuansj
 * <p>
 * Copyright (c) 2017, TNT All Rights Reserved.
 */

package com.hhss.qishi.entity.rejson;


import java.io.Serializable;

/**
 * ClassName:JsonResult
 * 所属功能模块: 公共
 * 功能描述:	json统一结果类
 *
 * @author yuansj
 * @Date 2017年5月24日 下午3:19:18
 * @since Ver 1.0
 */
public class JsonResponse implements Serializable {

    /**
     * serialVersionUID:TODO（用一句话描述这个变量表示什么）
     *
     * @since Ver 1.0
     */

    private static final long serialVersionUID = -8076724142509894364L;

    private String responseCode;

    private String msg;

    private Object content;

    public JsonResponse(String responseCode, String msg) {
        super();
        this.responseCode = responseCode;
        this.msg = msg;
    }


    public JsonResponse(String responseCode, String msg, Object content) {
        super();
        this.responseCode = responseCode;
        this.msg = msg;
        this.content = content;
    }

    public String getResponseCode() {
        return responseCode;
    }

    public void setResponseCode(String responseCode) {
        this.responseCode = responseCode;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Object getContent() {
        return content;
    }

    public void setContent(Object content) {
        this.content = content;
    }

    /**
     * success:成功
     * 描述这个方法的执行流程 – 可选
     * 描述这个方法的注意事项 – 可选
     *
     * @return JsonResult
     * @throws
     * @since Ver 1.0
     */
    public static JsonResponse success() {
        return new JsonResponse(ResponseCodeEnum.操作成功.responseCode, ResponseCodeEnum.操作成功.name());
    }

    /**
     * success:成功，传入成功参数内容
     * 描述这个方法的执行流程 – 可选
     * 描述这个方法的注意事项 – 可选
     *
     * @param content
     * @return JsonResult
     * @throws
     * @since Ver 1.0
     */
    public static JsonResponse success(Object content) {
        return new JsonResponse(ResponseCodeEnum.操作成功.responseCode, ResponseCodeEnum.操作成功.name(), content);
    }

    /**
     * fail:操作失败
     * 描述这个方法的执行流程 – 可选
     * 描述这个方法的注意事项 – 可选
     *
     * @return JsonResult
     * @throws
     * @since Ver 1.0
     */
    public static JsonResponse fail() {
        return new JsonResponse(ResponseCodeEnum.操作失败.responseCode, ResponseCodeEnum.操作失败.name());
    }


    /**
     * fail:操作失败
     * 描述这个方法的执行流程 – 可选
     * 描述这个方法的注意事项 – 可选
     *
     * @param msg
     * @return JsonResult
     * @throws
     * @since Ver 1.0
     */
    public static JsonResponse fail(String msg) {
        return new JsonResponse(ResponseCodeEnum.操作失败.responseCode, msg);
    }

    /**
     * error:系统异查
     * 描述这个方法的执行流程 – 可选
     * 描述这个方法的注意事项 – 可选
     *
     * @return JsonResult
     * @throws
     * @since Ver 1.0
     */
    public static JsonResponse error() {
        return new JsonResponse(ResponseCodeEnum.系统异常.responseCode, ResponseCodeEnum.系统异常.name());
    }

}

